package com.project.server.domain.broadroom;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.project.common.annotation.Excel;
import com.project.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 会议室预约对象 t_broadroom_book
 *
 * @author project
 * @date 2021-06-22
 */
public class TBroadroomBook extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 预约编号
     */
    private Long broadroomBookId;

    /**
     * 会议室编号
     */
    private Long broadroomId;

    /**
     * 企业id
     */
    private Long compId;

    /**
     * 会议室名称
     */
    @Excel(name = "会议室名称")
    private String broadroomName;

    /**
     * 联系人员
     */
    @Excel(name = "联系人员")
    private String userName;

    /**
     * 预约人电话
     */
    @Excel(name = "预约人电话")
    private String phone;

    /**
     * 会议室地点
     */
    @Excel(name = "会议室地点")
    private String broadroomAddress;

    /**
     * 企业名称
     */
    @Excel(name = "企业名称")
    private String compName;

    /**
     * 预约开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "预约开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date bookStart;

    /**
     * 预约结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "预约结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date bookEnd;

    /**
     * 预约状态（0待使用，1已取消，2已使用）
     */
    @Excel(name = "预约状态", readConverterExp = "0=待使用,1=已取消,2=已使用")
    private String bookStatus;

    /**
     * 审批人id
     */
    private Long approverId;

    /**
     * 审批人
     */
    @Excel(name = "审批人")
    private String approverName;

    /**
     * 审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date approverTime;

    /**
     * 审批状态（0待审批，1通过，2拒绝，3自动通过）
     */
    @Excel(name = "审批状态", readConverterExp = "0=待审批,1通过,2拒绝,3自动通过")
    private String approverState;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;


    public void setBroadroomBookId(Long broadroomBookId) {
        this.broadroomBookId = broadroomBookId;
    }

    public Long getBroadroomBookId() {
        return broadroomBookId;
    }

    public void setBroadroomId(Long broadroomId) {
        this.broadroomId = broadroomId;
    }

    public Long getBroadroomId() {
        return broadroomId;
    }

    public Long getCompId() {
        return compId;
    }

    public void setCompId(Long compId) {
        this.compId = compId;
    }

    public void setBroadroomName(String broadroomName) {
        this.broadroomName = broadroomName;
    }

    public String getBroadroomName() {
        return broadroomName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName() {
        return userName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public void setBroadroomAddress(String broadroomAddress) {
        this.broadroomAddress = broadroomAddress;
    }

    public String getBroadroomAddress() {
        return broadroomAddress;
    }

    public String getCompName() {
        return compName;
    }

    public void setCompName(String compName) {
        this.compName = compName;
    }

    public Date getBookStart() {
        return bookStart;
    }

    public void setBookStart(Date bookStart) {
        this.bookStart = bookStart;
    }

    public Date getBookEnd() {
        return bookEnd;
    }

    public void setBookEnd(Date bookEnd) {
        this.bookEnd = bookEnd;
    }

    public String getBookStatus() {
        return bookStatus;
    }

    public void setBookStatus(String bookStatus) {
        this.bookStatus = bookStatus;
    }

    public void setApproverId(Long approverId) {
        this.approverId = approverId;
    }

    public Long getApproverId() {
        return approverId;
    }

    public void setApproverTime(Date approverTime) {
        this.approverTime = approverTime;
    }

    public Date getApproverTime() {
        return approverTime;
    }

    public void setApproverState(String approverState) {
        this.approverState = approverState;
    }

    public String getApproverState() {
        return approverState;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setApproverName(String approverName) {
        this.approverName = approverName;
    }

    public String getApproverName() {
        return approverName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("broadroomBookId", getBroadroomBookId())
                .append("broadroomId", getBroadroomId())
                .append("compId", getCompId())
                .append("broadroomName", getBroadroomName())
                .append("userName", getUserName())
                .append("phone", getPhone())
                .append("broadroomAddress", getBroadroomAddress())
                .append("compName", getCompName())
                .append("bookStart", getBookStart())
                .append("bookEnd", getBookEnd())
                .append("bookStatus", getBookStatus())
                .append("approverId", getApproverId())
                .append("approverTime", getApproverTime())
                .append("approverState", getApproverState())
                .append("delFlag", getDelFlag())
                .append("approverName", getApproverName())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
